Tengo fieldObj que necesito con frecuencia. Viene de la base de datos. Quiero almacenarlo en localStorage.
a continuación se muestra el código que escribí que fieldObj de la base de datos si localStorage no lo tiene.
Cuando intento acceder a los datos json almacenados en localStorage, simplemente muestra
[objeto Objeto]
el código trata fieldObj de localStorage como una cadena.
Necesito acceder a los pares de valores clave almacenados en fieldObj .
<script> export default { data() { return { fields: JSON, } }, created() { if (!localStorage.getItem('field-obj')) { axios .get('/api/u/record/', { withCredentials: true, }) .then((response) => { response.data.forEach((el) => { if (el.COLUMN_TYPE == 'int') el.COLUMN_TYPE = 'number' }) const fieldObj = response.data[0].fieldObj[0] this.fields = fieldObj }) .then(() => { localStorage.setItem('field-obj', this.fields) }) } else { console.log(new Object(localStorage.getItem('field-obj'))) // console.log(localStorage.getItem('field-obj')[0].username) } }, } </script>Configurándolo en el almacenamiento local de esta manera
localStorage.setItem('field-obj',JSON.stringify(this.fields))y acceder a él con esto solucionó el problema
this.fields = JSON.parse(localStorage.getItem('field-obj'))Se puede encontrar un ejemplo más complejo aquí , usando Nuxt.